import sqlite3
# 保证其他模块导入该模块时，数据库路径不发生变化
import configparser
import sys
import os
sys.path.append('..')
from model.CVE import CVE

# 创建 ConfigParser 对象
config = configparser.ConfigParser()

# 读取配置文件
config.read('config.ini')

# 获取数据库路径
database_path = config.get('database', 'path')
# from model.CVE import CVE
# 保存CVE信息到数据库
def save_cve(cve):
    # 保存CVE信息到cve表中
    conn = sqlite3.connect(database_path)
    cursor = conn.cursor()
    # 插入数据
    cursor.execute('insert into cve (cve_id, mainline_commitId, stable_commitId, title, fixes_commitId, cve_url, all_match_text) values (?,?,?,?,?,?,?)', (cve.cve_id, cve.mainline_commitId, cve.stable_commitId, cve.title, cve.fixes_commitId, cve.cve_url, cve.all_match_text))
    conn.commit()
    cursor.close()
    conn.close()
def get_cve_from_db(cve_id):
    # 从数据库中获取CVE信息
    conn = sqlite3.connect(database_path)
    cursor = conn.cursor()
    cursor.execute('select * from cve where cve_id = ?', (cve_id,))
    values = cursor.fetchall()
    cursor.close()
    conn.close()
    if len(values) == 0:
        return None
    # 组装成CVE对象
    return CVE(values[0][0], values[0][1], values[0][2], values[0][3], values[0][4], values[0][5], values[0][6])